package com.project.class4_12.lambda;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class ManTest {
    public static void main(String[] args) {
        List<Man> manList = new ArrayList<>();
        manList.add(new Man(2,"张三",8000));
        manList.add(new Man(8,"刘丽",6000));
        manList.add(new Man(5,"张洪",7000));
        manList.add(new Man(7,"张勇",9000));
        manList.add(new Man(6,"何坤",6500));

//        manList.sort((o1,o2) -> o2.getId() - o1.getId());
//
//        System.out.println(manList);

//        for(Man m : manList){
//            System.out.println(m);
//        }
//        System.out.println("--------");
//
//        manList.stream().forEach( m -> System.out.println(m));
//        System.out.println("---------");
//        manList.stream().forEach(System.out::println);
        //得到工资在7000以上的员工
//        List<Man> mlist = new ArrayList<>();
//        for(Man m : manList){
//            if(m.getMoney() >= 7000){
//                mlist.add(m);
//            }
//        }
        //筛选
//        manList.stream().filter(m -> m.getMoney() >= 7000)
//                .forEach( e -> System.out.println(e));
//        System.out.println("---------");
//        System.out.println(manList);

        //排序
//        manList.stream().sorted((o1,o2) -> o2.getMoney() - o1.getMoney())
//                .forEach(e -> System.out.print(e));

//        manList.stream().filter( m -> m.getMoney() >= 7000)
//                .sorted((o1, o2) -> o2.getMoney() - o1.getMoney())
//                .forEach(e -> System.out.print(e));
        //得到集合中，姓张元素的数量
//        long c = manList.stream().filter( m -> m.getName().startsWith("张"))
//                .count();
//        System.out.println(c);

        //将stream筛选的结果，重新创建新的集合
        List<Man> mlist = manList.stream().filter(m -> m.getName().startsWith("张"))
                .sorted((o1,o2) -> o2.getMoney() - o1.getMoney())
                .collect(Collectors.toList());
        System.out.println(mlist);
    }
}
